# 协程：用户轻量级的线程，单线程，asynico
# 1.协程的实现
import asyncio
# wait的使用条件: 请求和响应都存在网络传输,


async def request(url):
    print('正在请求: ', url)
    await asyncio.sleep(1)
    print('下载成功:', url)
    return 111

c = request('www.baidu.com')


def parse(task):
    print('这是回调函数!')
    print(task.result())


# 1.实例化事件循环
loop = asyncio.get_event_loop()

# 2.任务对象，把协程对象放到任务对象中
task = loop.create_task(c)

# 3.给任务对象绑定回调函数
task.add_done_callback(parse)

# 4.把任务对象放入时事件循环
loop.run_until_complete(task)

